package com.kexun.xianchengchi;


import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/*线程池

* 1使用线程池的工厂类Executors里面提供的静态方法newFixedThreadPool生产一个指定线程数量的线程池
* 2创建一个类,实现Runnable接口,重写run方法,设置线程任务
* 3调用ExecutorService中的方法 submit, 传递线程任务 ,开启线程,执行run方法
* 调用ExecutorService中的方法shutdown 销毁线程池
* */
public class Demo01 {
    public static void main(String[] args) {
        ExecutorService pool = Executors.newFixedThreadPool(2);
        pool.submit(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+" aa");

            }
        });

        pool.submit(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName()+" bb");
            }
        });


        //lambda表达式  简化匿名内部类
        pool.submit(()->{
                System.out.println(Thread.currentThread().getName()+" cc");
            }
        );

     //   pool.shutdown();  //关闭线程池就不能提交任务了 必须重建线程池
    }
}
